<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AbstractRandomGenerator (Apache Commons Math 3.6.1 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AbstractRandomGenerator (Apache Commons Math 3.6.1 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractRandomGenerator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/commons/math3/random/AbstractWell.html" title="class in org.apache.commons.math3.random"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/random/AbstractRandomGenerator.html" target="_top">Frames</a></li>
<li><a href="AbstractRandomGenerator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.random</div>
<h2 title="Class AbstractRandomGenerator" class="title">Class AbstractRandomGenerator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.random.AbstractRandomGenerator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AbstractRandomGenerator</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></pre>
<div class="block">Abstract class implementing the <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomGenerator</code></a> interface.
 Default implementations for all methods other than <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextDouble()"><code>nextDouble()</code></a> and
 <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><code>setSeed(long)</code></a> are provided.
 <p>
 All data generation methods are based on <code>code nextDouble()</code>.
 Concrete implementations <strong>must</strong> override
 this method and <strong>should</strong> provide better / more
 performant implementations of the other methods if the underlying PRNG
 supplies them.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>1.1</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#AbstractRandomGenerator()">AbstractRandomGenerator</a></strong>()</code>
<div class="block">Construct a RandomGenerator.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()">clear</a></strong>()</code>
<div class="block">Clears the cache used by the default implementation of
 <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()"><code>nextGaussian()</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextBoolean()">nextBoolean</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed
 <code>boolean</code> value from this random number generator's
 sequence.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextBytes(byte[])">nextBytes</a></strong>(byte[]&nbsp;bytes)</code>
<div class="block">Generates random bytes and places them into a user-supplied
 byte array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextDouble()">nextDouble</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed
 <code>double</code> value between <code>0.0</code> and
 <code>1.0</code> from this random number generator's sequence.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextFloat()">nextFloat</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>float</code>
 value between <code>0.0</code> and <code>1.0</code> from this random
 number generator's sequence.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()">nextGaussian</a></strong>()</code>
<div class="block">Returns the next pseudorandom, Gaussian ("normally") distributed
 <code>double</code> value with mean <code>0.0</code> and standard
 deviation <code>1.0</code> from this random number generator's sequence.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt()">nextInt</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>int</code>
 value from this random number generator's sequence.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt(int)">nextInt</a></strong>(int&nbsp;n)</code>
<div class="block">Returns a pseudorandom, uniformly distributed <code>int</code> value
 between 0 (inclusive) and the specified value (exclusive), drawn from
 this random number generator's sequence.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextLong()">nextLong</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>long</code>
 value from this random number generator's sequence.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(int)">setSeed</a></strong>(int&nbsp;seed)</code>
<div class="block">Sets the seed of the underlying random number generator using an
 <code>int</code> seed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(int[])">setSeed</a></strong>(int[]&nbsp;seed)</code>
<div class="block">Sets the seed of the underlying random number generator using an
 <code>int</code> array seed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)">setSeed</a></strong>(long&nbsp;seed)</code>
<div class="block">Sets the seed of the underlying random number generator using a
 <code>long</code> seed.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractRandomGenerator()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractRandomGenerator</h4>
<pre>public&nbsp;AbstractRandomGenerator()</pre>
<div class="block">Construct a RandomGenerator.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="clear()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<div class="block">Clears the cache used by the default implementation of
 <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()"><code>nextGaussian()</code></a>. Implementations that do not override the
 default implementation of <code>nextGaussian</code> should call this
 method in the implementation of <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><code>setSeed(long)</code></a></div>
</li>
</ul>
<a name="setSeed(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSeed</h4>
<pre>public&nbsp;void&nbsp;setSeed(int&nbsp;seed)</pre>
<div class="block">Sets the seed of the underlying random number generator using an
 <code>int</code> seed.
 <p>Sequences of values generated starting with the same seeds
 should be identical.
 </p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(int)">setSeed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the seed value</dd></dl>
</li>
</ul>
<a name="setSeed(int[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSeed</h4>
<pre>public&nbsp;void&nbsp;setSeed(int[]&nbsp;seed)</pre>
<div class="block">Sets the seed of the underlying random number generator using an
 <code>int</code> array seed.
 <p>Sequences of values generated starting with the same seeds
 should be identical.
 </p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(int[])">setSeed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the seed value</dd></dl>
</li>
</ul>
<a name="setSeed(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSeed</h4>
<pre>public abstract&nbsp;void&nbsp;setSeed(long&nbsp;seed)</pre>
<div class="block">Sets the seed of the underlying random number generator using a
 <code>long</code> seed.  Sequences of values generated starting with the
 same seeds should be identical.
 <p>
 Implementations that do not override the default implementation of
 <code>nextGaussian</code> should include a call to <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()"><code>clear()</code></a> in the
 implementation of this method.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(long)">setSeed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the seed value</dd></dl>
</li>
</ul>
<a name="nextBytes(byte[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBytes</h4>
<pre>public&nbsp;void&nbsp;nextBytes(byte[]&nbsp;bytes)</pre>
<div class="block">Generates random bytes and places them into a user-supplied
 byte array.  The number of random bytes produced is equal to
 the length of the byte array.
 <p>
 The default implementation fills the array with bytes extracted from
 random integers generated using <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt()"><code>nextInt()</code></a>.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextBytes(byte[])">nextBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>bytes</code> - the non-null byte array in which to put the
 random bytes</dd></dl>
</li>
</ul>
<a name="nextInt()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextInt</h4>
<pre>public&nbsp;int&nbsp;nextInt()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>int</code>
 value from this random number generator's sequence.
 All 2<font size="-1"><sup>32</sup></font> possible <code>int</code> values
 should be produced with  (approximately) equal probability.
 <p>
 The default implementation provided here returns
 <pre>
 <code>(int) (nextDouble() * Integer.MAX_VALUE)</code>
 </pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextInt()">nextInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed <code>int</code>
  value from this random number generator's sequence</dd></dl>
</li>
</ul>
<a name="nextInt(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextInt</h4>
<pre>public&nbsp;int&nbsp;nextInt(int&nbsp;n)</pre>
<div class="block">Returns a pseudorandom, uniformly distributed <code>int</code> value
 between 0 (inclusive) and the specified value (exclusive), drawn from
 this random number generator's sequence.
 <p>
 The default implementation returns
 <pre>
 <code>(int) (nextDouble() * n</code>
 </pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextInt(int)">nextInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - the bound on the random number to be returned.  Must be
 positive.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a pseudorandom, uniformly distributed <code>int</code>
 value between 0 (inclusive) and n (exclusive).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if <code>n &lt;= 0</code>.</dd></dl>
</li>
</ul>
<a name="nextLong()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextLong</h4>
<pre>public&nbsp;long&nbsp;nextLong()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>long</code>
 value from this random number generator's sequence.  All
 2<font size="-1"><sup>64</sup></font> possible <code>long</code> values
 should be produced with (approximately) equal probability.
 <p>
 The default implementation returns
 <pre>
 <code>(long) (nextDouble() * Long.MAX_VALUE)</code>
 </pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextLong()">nextLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed <code>long</code>
value from this random number generator's sequence</dd></dl>
</li>
</ul>
<a name="nextBoolean()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBoolean</h4>
<pre>public&nbsp;boolean&nbsp;nextBoolean()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed
 <code>boolean</code> value from this random number generator's
 sequence.
 <p>
 The default implementation returns
 <pre>
 <code>nextDouble() <= 0.5</code>
 </pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextBoolean()">nextBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed
 <code>boolean</code> value from this random number generator's
 sequence</dd></dl>
</li>
</ul>
<a name="nextFloat()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextFloat</h4>
<pre>public&nbsp;float&nbsp;nextFloat()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>float</code>
 value between <code>0.0</code> and <code>1.0</code> from this random
 number generator's sequence.
 <p>
 The default implementation returns
 <pre>
 <code>(float) nextDouble() </code>
 </pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextFloat()">nextFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed <code>float</code>
 value between <code>0.0</code> and <code>1.0</code> from this
 random number generator's sequence</dd></dl>
</li>
</ul>
<a name="nextDouble()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextDouble</h4>
<pre>public abstract&nbsp;double&nbsp;nextDouble()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed
 <code>double</code> value between <code>0.0</code> and
 <code>1.0</code> from this random number generator's sequence.
 <p>
 This method provides the underlying source of random data used by the
 other methods.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextDouble()">nextDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed
  <code>double</code> value between <code>0.0</code> and
  <code>1.0</code> from this random number generator's sequence</dd></dl>
</li>
</ul>
<a name="nextGaussian()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>nextGaussian</h4>
<pre>public&nbsp;double&nbsp;nextGaussian()</pre>
<div class="block">Returns the next pseudorandom, Gaussian ("normally") distributed
 <code>double</code> value with mean <code>0.0</code> and standard
 deviation <code>1.0</code> from this random number generator's sequence.
 <p>
 The default implementation uses the <em>Polar Method</em>
 due to G.E.P. Box, M.E. Muller and G. Marsaglia, as described in
 D. Knuth, <u>The Art of Computer Programming</u>, 3.4.1C.</p>
 <p>
 The algorithm generates a pair of independent random values.  One of
 these is cached for reuse, so the full algorithm is not executed on each
 activation.  Implementations that do not override this method should
 make sure to call <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()"><code>clear()</code></a> to clear the cached value in the
 implementation of <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><code>setSeed(long)</code></a>.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextGaussian()">nextGaussian</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the next pseudorandom, Gaussian ("normally") distributed
 <code>double</code> value with mean <code>0.0</code> and
 standard deviation <code>1.0</code> from this random number
  generator's sequence</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractRandomGenerator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/commons/math3/random/AbstractWell.html" title="class in org.apache.commons.math3.random"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/random/AbstractRandomGenerator.html" target="_top">Frames</a></li>
<li><a href="AbstractRandomGenerator.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
